<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Caninical XML node set</title>
<style type="text/css">
<!-- 
.INCLUDED { 
   color: #000000; 
   background-color: 
   #FFFFFF; 
   font-weight: bold; } 
.EXCLUDED { 
   color: #666666; 
   background-color: 
   #999999; } 
.INCLUDEDINCLUSIVENAMESPACE { 
   color: #0000FF; 
   background-color: #FFFFFF; 
   font-weight: bold; 
   font-style: italic; } 
.EXCLUDEDINCLUSIVENAMESPACE { 
   color: #0000FF; 
   background-color: #999999; 
   font-style: italic; } 
--> 
</style> 
</head>
<body bgcolor="#999999">
<h1>Explanation of the output</h1>
<p>The following text contains the nodeset of the given Reference before it is canonicalized. There exist four different styles to indicate how a given node is treated.</p>
<ul>
<li class="INCLUDED">A node which is in the node set is labeled using the INCLUDED style.</li>
<li class="EXCLUDED">A node which is <em>NOT</em> in the node set is labeled EXCLUDED style.</li>
<li class="INCLUDEDINCLUSIVENAMESPACE">A namespace which is in the node set AND in the InclusiveNamespaces PrefixList is labeled using the INCLUDEDINCLUSIVENAMESPACE style.</li>
<li class="EXCLUDEDINCLUSIVENAMESPACE">A namespace which is in NOT the node set AND in the InclusiveNamespaces PrefixList is labeled using the INCLUDEDINCLUSIVENAMESPACE style.</li>
</ul>
<h1>Output</h1>
<pre>
<span class="EXCLUDED">&lt;!-- XPath="self::Parent or (parent::Parent and not(self::Child)) or self::ns1:GrandChild or parent::ns1:GrandChild" --&gt;
</span><span class="EXCLUDED">&lt;!-- additionalNSPrefixes="ns1 http://example.org/ns1" --&gt;
</span><span class="EXCLUDED">&lt;!-- InlusiveNamespacePrefixList="ns2" --&gt;
</span><span class="EXCLUDED">&lt;!-- Result C14N:
<Parent>
    <ns1:GrandChild xmlns:ns1="http://example.org/ns1" xmlns:ns2="http://example.org/ns2"></ns1:GrandChild>
  </Parent>    
 --&gt;
</span><span class="EXCLUDED">&lt;!-- Annotation C14N:
1. The namespace nodes ns1 und ns2 are rendered for GrandChild, since
   they are both in scope for GrandChild and in the output node set.   
--&gt;
</span><span class="EXCLUDED">&lt;!-- Result EC14N:
<Parent>
    <ns1:GrandChild xmlns:ns1="http://example.org/ns1" xmlns:ns2="http://example.org/ns2"></ns1:GrandChild>
  </Parent>    
--&gt;
</span><span class="EXCLUDED">&lt;!-- Annotation EC14N:
1. The namespace node ns1 is rendered for GrandChild since it is visibly
   utilized by GrandChild.
2. The namespace node ns2 is rendered since it is on the 
   InlusiveNamespacePrefixList and is therefore treated as in C14N mode.
--&gt;
</span><span class="EXCLUDED">&lt;GrandParent</span><span class="EXCLUDED"> xmlns=""</span><span class="EXCLUDED">&gt;</span><span class="EXCLUDED">
  </span><span class="INCLUDED">&lt;Parent</span><span class="INCLUDED"> xmlns=""</span><span class="INCLUDED">&gt;</span><span class="INCLUDED">
    </span><span class="EXCLUDED">&lt;Child</span><span class="EXCLUDED"> xmlns=""</span><span class="EXCLUDED"> xmlns:ns1="http://example.org/ns1"</span><span class="EXCLUDED"> xmlns:ns2="http://example.org/ns2"</span><span class="EXCLUDED">&gt;</span><span class="EXCLUDED">
      </span><span class="INCLUDED">&lt;ns1:GrandChild</span><span class="INCLUDED"> xmlns=""</span><span class="INCLUDED"> xmlns:ns1="http://example.org/ns1"</span><span class="INCLUDED"> xmlns:ns2="http://example.org/ns2"</span><span class="INCLUDED">&gt;</span><span class="INCLUDED">&lt;/ns1:GrandChild&gt;</span><span class="EXCLUDED">
    </span><span class="EXCLUDED">&lt;/Child&gt;</span><span class="INCLUDED">
  </span><span class="INCLUDED">&lt;/Parent&gt;</span><span class="EXCLUDED">
</span><span class="EXCLUDED">&lt;/GrandParent&gt;</span></pre></body></html>